package com.gadgets.framework.common.util;

import org.springframework.context.ApplicationContext;

/**
 * @author UncleXiu
 * @version V1.0.0
 * @data 2020-09-21
 *
 */
public class SpringUtils {

    private static ApplicationContext applicationContext;

    /**
     * 初始化Spring上下文对象
     * @param context   上下文
     */
    public static void registry(ApplicationContext context){
        applicationContext = context;
    }

    /**
     * 根据BeanName获取指定类型的Bean
     * @param beanName  Bean名称
     * @param type      Bean类型
     * @param <T>       Bean类型泛型
     * @return          返回结果
     */
    public static <T> T getBeanByName(String beanName, Class<T> type){
        return applicationContext.getBean(beanName,type);
    }

}
